Facts, Resources, and the IDE/Compiler Mind-Meld

نویسنده

  • Anya Helene Bagge
چکیده

Classical compiler architecture is centred around producing object code in a batch-oriented fashion. Integrated development environments (IDEs) present new challenges to the language implementer: information should be (almost) instantly available, presented even for incorrect code, and should be dynamically updated as the user is editing. To increase responsiveness, it may be necessary to compute information incrementally, and to make use of multicore processors. An existing compiler cannot easily be adapted to provide IDE services without impacting the user experience; typically, IDE developers have to develop their own language frontends particularly targeted at IDE use. In this paper, we shall discuss the design of an Eclipse-integrated implementation of the experimental Magnolia programming language. The implementation is modular, with code and data being shared by both the editor and the compiler, and the design has been done with incrementality and multi-threading in mind.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Meld: A Logical Approach to Programming Ensembles

Concurrent systems are notoriously difficult to program. They suffer from such problems as race conditions, deadlocks, and livelocks in addition to all the bugs encountered in sequential programs. Better methods are necessary to write correct programs for concurrent systems. In this thesis I will focus on a class of concurrent systems call ‘ensembles’. An ensemble is a massively distributed sys...

متن کامل

Bottom-Up Logic Programming for Multicores

In the Claytronics project, we have used Meld, a logic programming language suitable for writing scalable and concise distributed programs for ensembles. Meld allows declarative code to be compiled into distributed code that can be executed in thousands of computing units. We are now using Meld to program more traditional algorithms that run on multicore machines. We made several modifications ...

متن کامل

Towards a Hume IDE

The Java-based Hume IDE provides a classic edit/run/debug text-based interactive programming environment, augmented with the Hume Diagram Tool(HDT) which displays two-dimensional box/wiring diagrams from Hume source programs. Diagram layout may be modified interactively and wires may be inspected to identify associated types. Here, we present an overview of the IDE, focusing on the HDT. We also...

متن کامل

A Parallel Virtual Machine for Executing Forward-Chaining Linear Logic Programs

Linear Meld is a concurrent forward-chaining linear logic programming language where logical facts can be asserted and retracted in a structured way. The database of facts is partitioned by the nodes of a graph structure which leads to parallelism if nodes are executed simultaneously. Communication arises whenever nodes send facts to other nodes by fact derivation. We present an overview of the...

متن کامل

Human computing and crowdsourcing methods for knowledge acquisition

Ambiguity, complexity, and diversity in natural language textual expressions are major hindrances to automated knowledge extraction. As a result state-of-the-art methods for extracting entities and relationships from unstructured data make incorrect extractions or produce noise. With the advent of human computing, computationally hard tasks have been addressed through human inputs. While textba...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013